package com.qf.dao;

import com.qf.bean.Student2;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.List;

public interface Student2Dao extends JpaRepository<Student2,Integer> {

    //学生姓名查询
    public List<Student2> findBySnameContaining(String name);
    //已知条件:年级编号，查询该年级的学生信息
    public List<Student2> findByGrade2_Gid(int gid);
    //根据学生id和学生姓名查询学生信息
    //hql语法，和sql语法一致，但是需要将表名换成类名,列名换成属性名。类名，属性名区分大小写
    //hql中查询全部列的时候，直接使用:from 类名
    //1.通过下标绑定参数
  /*  @Query("from Student2 where stuid=?1 and sname like ?2")
    public Student2 findbyid_name(int sid,String stuname);*/
  //2.通过名称绑定参数，语法:  :自定义名称   绑定参数
    //@Query("from Student2 where stuid=:sid and sname like :studentname")
    @Query( value = "select * from Student2 where STUID=:sid and SNAME like :studentname",nativeQuery = true)
    public Student2 findbyid_name(@Param("sid") int sid,@Param("studentname") String stuname);
    //关联查询
    //根据年级id查询学生列表
    @Query("from Student2 where grade2.gid=?")
    public List<Student2> getStudentsBygid(int gid);



}
